{% if isFramework("angular") %}
The interface for the Cell Component is as follows:
{% /if %}

{% if isFramework("angular") %}
```ts
interface ICellRendererAngularComp {
   // Mandatory - Params for rendering
   agInit(params: ICellRendererParams): void;

   // Mandatory - Return true if you have managed the cell refresh yourself in this method, otherwise return false.
   // If you return false, the grid will remove the component from the DOM and create a new component in its place 
   // with the new values.
   refresh(params: ICellRendererParams): boolean;
}
```
{% /if %}

{% if isFramework("angular") %}
The Component is provided `props` containing, amoungst other things, the value to be rendered.
{% /if %}

{% if isFramework("angular") %}
```ts
class CustomButtonComponent implements ICellRendererAngularComp {
  // ...
  agInit(props: ICellRendererParams): void {
    this.cellValue = props.value;
  }
  // ...
```
{% /if %}

{% if isFramework("angular") %}
The provided `props` (interface ICellRendererParams) are:
{% /if %}
